/*
  数组的实例方法：
      forEach((el, index, arr) => { })
      作用：遍历数组,  增强版/简化版的for循环
      返回：无返回值
      语法：
       array.forEach((el, index, arr) => {
        el: 数组中的每项元素
        index: 每项元素在数组中的下标/索引
        array: 数组本身
      })

    查看数组的实例方法：Array.prototype

 */

// const beauty = ['西施', '貂蝉', '杨玉环', '王昭君']

// beauty.forEach((el, index, arr) => {
//   console.log(el, index, arr)
// })
const girls = [
  {
    name: '王昭君',
    height: 170
  }, {
    name: '貂蝉',
    height: 172
  }, {
    name: '西施',
    height: 162
  }, {
    name: '杨玉环',
    height: 169
  }
]

girls.forEach((item, index) => {
  console.log(item, index)
})

// console.log(Array.prototype)

Array.prototype._forEach = function (callback) {
  // this就是调用_forEach的数组对象，拿到之后，内部for循环实现
  for (let i = 0; i < this.length; i++) {
    callback(this[i], i, this)
  }
}
girls._forEach((item, index) => {
  console.log(item, index)
})